package com.yanqu.road.entity.marriage;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.enums.eMarriageStatusType;
import com.yanqu.road.utils.property.Property;

import java.math.BigInteger;
import java.util.Objects;

public class MarriageInfo extends DataObject {

    private long userId;

    private String userNickName;
    /**
     * 婚姻状态
     */
    private eMarriageStatusType status;

    private String childUid;

    private int childTalent;

    private int childSex;

    private int childOccupation;

    private String childName;

    private int childHeadIcon;

    private long childAdultTime;

    private long publishTime;

    private long appointUserId;

    private Property reward;

    private int motherBeautyId;

    private int childOccupationId;

    private BigInteger childEarnSpeed = BigInteger.ZERO;

    private int childOccupationAddition;

    private boolean isTwins;

    private BigInteger growEarnSpeed = BigInteger.ZERO;

    private BigInteger limitEarnSpeed = BigInteger.ZERO;        //联姻限制赚速
    private long serverId;              //区服编号
    private long partnerServerId;       //对方区服编号
    private String marriageConsume;

    //藏宝加的赚速
    private String curioAddition = "0";

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        if(this.userId != userId) {
            this.userId = userId;
            setUpdateOption();
        }
    }

    public String getUserNickName() {
        return userNickName;
    }

    public void setUserNickName(String userNickName) {
        if(!Objects.equals(this.userNickName, userNickName)) {
            this.userNickName = userNickName;
            setUpdateOption();
        }
    }

    public eMarriageStatusType getStatus() {
        return status;
    }

    public void setStatus(eMarriageStatusType status) {
        if (this.status != status) {
            this.status = status;
            setUpdateOption();
        }
    }

    public String getChildUid() {
        return childUid;
    }

    public void setChildUid(String childUid) {
        if(!Objects.equals(this.childUid, childUid)) {
            this.childUid = childUid;
            setUpdateOption();
        }
    }

    public int getChildTalent() {
        return childTalent;
    }

    public void setChildTalent(int childTalent) {
        if(this.childTalent != childTalent) {
            this.childTalent = childTalent;
            setUpdateOption();
        }
    }

    public int getChildOccupation() {
        return childOccupation;
    }

    public void setChildOccupation(int childOccupation) {
        if(this.childOccupation != childOccupation) {
            this.childOccupation = childOccupation;
            setUpdateOption();
        }
    }

    public String getChildName() {
        return childName;
    }

    public void setChildName(String childName) {
        if(!Objects.equals(this.childName, childName)) {
            this.childName = childName;
            setUpdateOption();
        }
    }

    public int getChildSex() {
        return childSex;
    }

    public void setChildSex(int childSex) {
        if(this.childSex != childSex) {
            this.childSex = childSex;
            setUpdateOption();
        }
    }

    public int getChildHeadIcon() {
        return childHeadIcon;
    }

    public void setChildHeadIcon(int childHeadIcon) {
        if(this.childHeadIcon != childHeadIcon) {
            this.childHeadIcon = childHeadIcon;
            setUpdateOption();
        }
    }

    public long getChildAdultTime() {
        return childAdultTime;
    }

    public void setChildAdultTime(long childAdultTime) {
        this.childAdultTime = childAdultTime;
    }

    public long getPublishTime() {
        return publishTime;
    }

    public void setPublishTime(long publishTime) {
        if (this.publishTime != publishTime) {
            this.publishTime = publishTime;
            setUpdateOption();
        }
    }

    public long getAppointUserId() {
        return appointUserId;
    }

    public void setAppointUserId(long appointUserId) {
        if (this.appointUserId != appointUserId) {
            this.appointUserId = appointUserId;
            setUpdateOption();
        }
    }

    public Property getReward() {
        return reward;
    }

    public void setReward(Property reward) {
        this.reward = reward;
        setUpdateOption();
    }

    public int getMotherBeautyId() {
        return motherBeautyId;
    }

    public void setMotherBeautyId(int motherBeautyId) {
        if(this.motherBeautyId != motherBeautyId) {
            this.motherBeautyId = motherBeautyId;
            setUpdateOption();
        }
    }

    public int getChildOccupationId() {
        return childOccupationId;
    }

    public void setChildOccupationId(int childOccupationId) {
        if(this.childOccupationId != childOccupationId) {
            this.childOccupationId = childOccupationId;
            setUpdateOption();
        }
    }

    public BigInteger getChildEarnSpeed() {
        return childEarnSpeed;
    }

    public void setChildEarnSpeed(BigInteger childEarnSpeed) {
        if(!Objects.equals(this.childEarnSpeed, childEarnSpeed)) {
            this.childEarnSpeed = childEarnSpeed;
            setUpdateOption();
        }
    }

    public int getChildOccupationAddition() {
        return childOccupationAddition;
    }

    public void setChildOccupationAddition(int childOccupationAddition) {
        if(this.childOccupationAddition != childOccupationAddition) {
            this.childOccupationAddition = childOccupationAddition;
            setUpdateOption();
        }
    }


    public boolean isTwins() {
        return isTwins;
    }

    public void setTwins(boolean twins) {
        if(twins != this.isTwins){
            this.isTwins = twins;
            setUpdateOption();
        }
    }

    public BigInteger getGrowEarnSpeed() {
        return growEarnSpeed;
    }

    public void setGrowEarnSpeed(BigInteger growEarnSpeed) {
        if(!Objects.equals(this.growEarnSpeed, growEarnSpeed)) {
            this.growEarnSpeed = growEarnSpeed;
            setUpdateOption();
        }
    }

    public BigInteger getLimitEarnSpeed() {
        return limitEarnSpeed;
    }

    public void setLimitEarnSpeed(BigInteger limitEarnSpeed) {
        if(!Objects.equals(this.limitEarnSpeed, limitEarnSpeed)) {
            this.limitEarnSpeed = limitEarnSpeed;
            setUpdateOption();
        }
    }

    public long getServerId() {
        return serverId;
    }

    public void setServerId(long serverId) {
        if(this.serverId != serverId) {
            this.serverId = serverId;
            setUpdateOption();
        }
    }

    public long getPartnerServerId() {
        return partnerServerId;
    }

    public void setPartnerServerId(long partnerServerId) {
        if(this.partnerServerId != partnerServerId) {
            this.partnerServerId = partnerServerId;
            setUpdateOption();
        }
    }

    public String getMarriageConsume() {
        return marriageConsume;
    }

    public void setMarriageConsume(String marriageConsume) {
        if(!Objects.equals(this.marriageConsume, marriageConsume)) {
            this.marriageConsume = marriageConsume;
            setUpdateOption();
        }
    }

    public String getCurioAddition() {
        return curioAddition;
    }

    public void setCurioAddition(String curioAddition) {
        if(!Objects.equals(this.curioAddition, curioAddition)) {
            this.curioAddition = curioAddition;
            setUpdateOption();
        }
    }
}
